package com.bestcem.xm.award.dao;

import com.bestcem.xm.award.entity.pojo.BandPointDO;

import java.util.List;


public interface BandPointDao {

    BandPointDO selectByPrimaryKey(String id);

    /**
     * 查询未删除的记录
     *
     * @param name  积分名称
     * @param orgId 公司id
     * @return 记录
     */
    BandPointDO findByNameNotDel(String name, String orgId);

//    /**
//     * 查询记录，使用base的selectByPrimaryKey
//     *
//     * @param id id
//     * @return 记录
//     */
//    BandPointEntity findById(String id);

    /**
     * 查询记录
     *
     * @param code  code
     * @param orgId 租户Id
     * @return 记录
     */
    BandPointDO findByCode(String code, String orgId);


    /**
     * 查询列表，与原来有变更，注意
     *
     * @param start    开始条数，从0开始
     * @param pageSize 查询条数
     * @param orgId    公司id
     * @return 列表
     */
    List<BandPointDO> findAllByPage(Integer start, Integer pageSize, String orgId);

    /**
     * 查询未删除数量
     *
     * @param orgId 公司id
     * @return 条数
     */
    long countByOrgIdNotDel(String orgId);

    /**
     * 更新状态为已删除
     *
     * @param idList idList
     * @return 结果
     */
    int updateDelFlagById(List idList);

    /**
     * 批量插入,需要生成mongo id,需要设默认值
     *
     * @param list 待插入列表
     */
    void insertList(List<BandPointDO> list);


}